package com.company.behavioral.template_method_pattern.abstract_class;

/**
 * 账户类
 * @ClassName Account
 * @Author tiezheng.han
 * @Date 2020/9/7 15:57
 **/
public abstract class Account {

    /**
     * 基本方法------具体方法
     * @param account
     * @param password
     * @return
     */
    public  boolean validate(String account,String password) {
        System.out.println("账号：" + account);
        System.out.println("密码：" + password);
        if (account.equalsIgnoreCase("hantiezheng") && password.equalsIgnoreCase("123456")){
            return true;
        }else {
            return false;
        }
    }

    /**
     * 基本方法------抽象方法
     */
    public abstract void calculateInterst();

    /**
     * 基本方法------具体方法
     */
    public void display(){
        System.out.println("显示利息！");
    }

    public void handle(String account,String password){
        if (!validate(account,password)){
            System.out.println("账户或密码错误！");
            return;
        }
        calculateInterst();
        display();
    }
}
